package com.example.dto;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 图书响应DTO
 * 
 * @author HP
 * @description 图书信息响应数据
 * @createDate 2025-08-27
 */
@Data
public class BookResponseDTO implements Serializable {

    /**
     * 图书ID
     */
    private Long id;

    /**
     * 书名
     */
    private String title;

    /**
     * 作者
     */
    private String author;

    /**
     * 出版社
     */
    private String publisher;

    /**
     * 出版日期
     */
    private Date publishDate;

    /**
     * 价格
     */
    private BigDecimal price;

    /**
     * 分类ID
     */
    private Long categoryId;

    /**
     * 分类名称
     */
    private String categoryName;

    /**
     * 封面图片URL
     */
    private String coverImage;

    /**
     * 所属书架ID
     */
    private Long bookshelfId;

    /**
     * 书架编号
     */
    private String bookshelfNumber;

    /**
     * 所属图书馆ID（通过书架关联）
     */
    private Long libraryId;

    /**
     * 图书馆名称
     */
    private String libraryName;

    /**
     * 总数量
     */
    private Integer totalCount;

    /**
     * 可借数量
     */
    private Integer availableCount;

    /**
     * 已借数量
     */
    private Integer borrowedCount;

    /**
     * 图书状态 0:下架, 1:上架
     */
    private Integer bookStatus;

    /**
     * 图书状态文本
     */
    private String bookStatusText;

    private static final long serialVersionUID = 1L;
}